#ifndef xpack_lang_wxx_parse_hex
#define xpack_lang_wxx_parse_hex
#pragma push_macro("xuser")
#undef  xuser
#define xuser mixc::lang_wxx::inc
#include"define/base_type.hpp"
#include"lang/wxx.hpp"
#pragma pop_macro("xuser")

namespace mixc::lang_wxx{
    template<class type_t>
    inline uxx wxx<type_t>::parse_hex() const {
        if ('0' <= xthe.m_value and xthe.m_value <= '9'){
            return uxx(xthe.m_value - '0');
        }
        if (auto v = xthe.m_value | 0x20; 'a' <= v and v <= 'f'){
            return uxx(v - 'a' + 10);
        }
        else{
            return not_exist;
        }
    }
}

#endif
